<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>gdsl: gdsl_list.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">gdsl
   &#160;<span id="projectnumber">1.7</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('gdsl__list_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">gdsl_list.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="gdsl__list_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * This file is part of the Generic Data Structures Library (GDSL).</span>
<a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 1998-2006 Nicolas Darnis &lt;ndarnis@free.fr&gt;.</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> * The GDSL library is free software; you can redistribute it and/or </span>
<a name="l00006"></a>00006 <span class="comment"> * modify it under the terms of the GNU General Public License as </span>
<a name="l00007"></a>00007 <span class="comment"> * published by the Free Software Foundation; either version 2 of</span>
<a name="l00008"></a>00008 <span class="comment"> * the License, or (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * The GDSL library is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00013"></a>00013 <span class="comment"> * GNU General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"> *</span>
<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
<a name="l00016"></a>00016 <span class="comment"> * along with the GDSL library; see the file COPYING.</span>
<a name="l00017"></a>00017 <span class="comment"> * If not, write to the Free Software Foundation, Inc., </span>
<a name="l00018"></a>00018 <span class="comment"> * 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.</span>
<a name="l00019"></a>00019 <span class="comment"> *</span>
<a name="l00020"></a>00020 <span class="comment"> * $RCSfile: gdsl__list_8h_source.html,v $</span>
<a name="l00021"></a>00021 <span class="comment"> * $Revision: 1.3 $</span>
<a name="l00022"></a>00022 <span class="comment"> * $Date: 2013/06/12 16:36:13 $</span>
<a name="l00023"></a>00023 <span class="comment"> */</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="preprocessor">#ifndef _GDSL_LIST_H_</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define _GDSL_LIST_H_</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="gdsl__types_8h.html">gdsl_types.h</a>&quot;</span>
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> 
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 
<a name="l00051"></a><a class="code" href="group__gdsl__list.html#ga6e449755578066b63cbe063a2daec25b">00051</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_gdsl_list* <a class="code" href="group__gdsl__list.html#ga6e449755578066b63cbe063a2daec25b" title="GDSL doubly-linked list type.">gdsl_list_t</a>;
<a name="l00052"></a>00052 
<a name="l00059"></a><a class="code" href="group__gdsl__list.html#ga4a74cd75b7a6917479c5e3cfeb1eecf1">00059</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_gdsl_list_cursor* <a class="code" href="group__gdsl__list.html#ga4a74cd75b7a6917479c5e3cfeb1eecf1" title="GDSL doubly-linked list cursor type.">gdsl_list_cursor_t</a>;
<a name="l00060"></a>00060 
<a name="l00061"></a>00061 <span class="comment">/******************************************************************************/</span>
<a name="l00062"></a>00062 <span class="comment">/* Management functions of doubly-linked lists                                */</span>
<a name="l00063"></a>00063 <span class="comment">/******************************************************************************/</span>
<a name="l00064"></a>00064 
<a name="l00085"></a>00085 <span class="keyword">extern</span> gdsl_list_t
<a name="l00086"></a>00086 <a class="code" href="group__gdsl__list.html#ga7fe9720535ab73f5f6f8d22485a48fbb" title="Create a new list.">gdsl_list_alloc</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* NAME,
<a name="l00087"></a>00087          <a class="code" href="group__gdsl__types.html#ga32a9b4e8b9665183c2741d28a5ced64f" title="GDSL Alloc element function type.">gdsl_alloc_func_t</a> ALLOC_F,
<a name="l00088"></a>00088          <a class="code" href="group__gdsl__types.html#ga2c6b3f96b291b5b39d2799f93e350053" title="GDSL Free element function type.">gdsl_free_func_t</a> FREE_F
<a name="l00089"></a>00089          );
<a name="l00090"></a>00090 
<a name="l00103"></a>00103 <span class="keyword">extern</span> <span class="keywordtype">void</span> 
<a name="l00104"></a>00104 <a class="code" href="group__gdsl__list.html#ga9d220b3b117386ae70fe7fdb6e0cef5b" title="Destroy a list.">gdsl_list_free</a> (gdsl_list_t L
<a name="l00105"></a>00105         );
<a name="l00106"></a>00106 
<a name="l00120"></a>00120 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00121"></a>00121 <a class="code" href="group__gdsl__list.html#ga1e53326dafde19d04ce482136e92bac4" title="Flush a list.">gdsl_list_flush</a> (gdsl_list_t L
<a name="l00122"></a>00122          );
<a name="l00123"></a>00123 
<a name="l00124"></a>00124 <span class="comment">/******************************************************************************/</span>
<a name="l00125"></a>00125 <span class="comment">/* Consultation functions of doubly-linked lists                              */</span>
<a name="l00126"></a>00126 <span class="comment">/******************************************************************************/</span>
<a name="l00127"></a>00127 
<a name="l00137"></a>00137 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span>*
<a name="l00138"></a>00138 <a class="code" href="group__gdsl__list.html#ga2f1ed945e51ab5ce07b04786aeed88c0" title="Get the name of a list.">gdsl_list_get_name</a> (<span class="keyword">const</span> gdsl_list_t L
<a name="l00139"></a>00139             );
<a name="l00140"></a>00140 
<a name="l00148"></a>00148 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga9c34ac44da309b004570530c8cec8a0e">ulong</a>
<a name="l00149"></a>00149 <a class="code" href="group__gdsl__list.html#ga636671bc6ec6b13027ee13d7c0be9a35" title="Get the size of a list.">gdsl_list_get_size</a> (<span class="keyword">const</span> gdsl_list_t L
<a name="l00150"></a>00150             );
<a name="l00151"></a>00151 
<a name="l00160"></a>00160 <span class="keyword">extern</span> <span class="keywordtype">bool</span>
<a name="l00161"></a>00161 <a class="code" href="group__gdsl__list.html#ga3f5c4d273ddfa07c8824f4fe50146224" title="Check if a list is empty.">gdsl_list_is_empty</a> (<span class="keyword">const</span> gdsl_list_t L
<a name="l00162"></a>00162             );
<a name="l00163"></a>00163 
<a name="l00174"></a>00174 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00175"></a>00175 <a class="code" href="group__gdsl__list.html#ga9cde045e90d61f1e09774422ee83cc4d" title="Get the head of a list.">gdsl_list_get_head</a> (<span class="keyword">const</span> gdsl_list_t L
<a name="l00176"></a>00176             );
<a name="l00177"></a>00177 
<a name="l00188"></a>00188 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00189"></a>00189 <a class="code" href="group__gdsl__list.html#ga5ead481779e0fb8fb62463c528e8a956" title="Get the tail of a list.">gdsl_list_get_tail</a> (<span class="keyword">const</span> gdsl_list_t L
<a name="l00190"></a>00190             );
<a name="l00191"></a>00191 
<a name="l00192"></a>00192 <span class="comment">/******************************************************************************/</span>
<a name="l00193"></a>00193 <span class="comment">/* Modification functions of doubly-linked lists                              */</span>
<a name="l00194"></a>00194 <span class="comment">/******************************************************************************/</span>
<a name="l00195"></a>00195 
<a name="l00209"></a>00209 <span class="keyword">extern</span> gdsl_list_t
<a name="l00210"></a>00210 <a class="code" href="group__gdsl__list.html#ga0c7b82f86f64119875e784bf65c8b635" title="Set the name of a list.">gdsl_list_set_name</a> (gdsl_list_t L,
<a name="l00211"></a>00211             <span class="keyword">const</span> <span class="keywordtype">char</span>* NEW_NAME
<a name="l00212"></a>00212             );
<a name="l00213"></a>00213 
<a name="l00232"></a>00232 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00233"></a>00233 <a class="code" href="group__gdsl__list.html#gabff17ac2c1b2253dde8a2c9e060d201d" title="Insert an element at the head of a list.">gdsl_list_insert_head</a> (gdsl_list_t L,
<a name="l00234"></a>00234                <span class="keywordtype">void</span>* VALUE
<a name="l00235"></a>00235                );
<a name="l00236"></a>00236 
<a name="l00255"></a>00255 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00256"></a>00256 <a class="code" href="group__gdsl__list.html#ga545a2c14092c059adcb65a9d71fb22c7" title="Insert an element at the tail of a list.">gdsl_list_insert_tail</a> (gdsl_list_t L,
<a name="l00257"></a>00257                <span class="keywordtype">void</span>* VALUE
<a name="l00258"></a>00258                );
<a name="l00259"></a>00259 
<a name="l00275"></a>00275 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00276"></a>00276 <a class="code" href="group__gdsl__list.html#gab986f8064fb7f1926ff602fffbd4fba7" title="Remove the head of a list.">gdsl_list_remove_head</a> (gdsl_list_t L
<a name="l00277"></a>00277                );
<a name="l00278"></a>00278 
<a name="l00294"></a>00294 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00295"></a>00295 <a class="code" href="group__gdsl__list.html#ga955266bc7b44a78a77285ef6109b0d0b" title="Remove the tail of a list.">gdsl_list_remove_tail</a> (gdsl_list_t L
<a name="l00296"></a>00296                );
<a name="l00297"></a>00297 
<a name="l00316"></a>00316 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00317"></a>00317 <a class="code" href="group__gdsl__list.html#gace9d2173b7256b8d60b0c8803a279d5d" title="Remove a particular element from a list.">gdsl_list_remove</a> (gdsl_list_t L,
<a name="l00318"></a>00318           <a class="code" href="group__gdsl__types.html#ga200177a9a1ac3f2363e228b0e5faeda7" title="GDSL Comparison element function type.">gdsl_compare_func_t</a> COMP_F,
<a name="l00319"></a>00319           <span class="keyword">const</span> <span class="keywordtype">void</span>* VALUE
<a name="l00320"></a>00320           );
<a name="l00321"></a>00321 
<a name="l00337"></a>00337 <span class="keyword">extern</span> gdsl_list_t
<a name="l00338"></a>00338 <a class="code" href="group__gdsl__list.html#gabbdb732f3964806f63510f0b6136d3ca" title="Delete the head of a list.">gdsl_list_delete_head</a> (gdsl_list_t L
<a name="l00339"></a>00339                );
<a name="l00340"></a>00340 
<a name="l00356"></a>00356 <span class="keyword">extern</span> gdsl_list_t
<a name="l00357"></a>00357 <a class="code" href="group__gdsl__list.html#gac508af7ad28e3c417d84a957834980a0" title="Delete the tail of a list.">gdsl_list_delete_tail</a> (gdsl_list_t L
<a name="l00358"></a>00358                );
<a name="l00359"></a>00359 
<a name="l00378"></a>00378 <span class="keyword">extern</span> gdsl_list_t
<a name="l00379"></a>00379 <a class="code" href="group__gdsl__list.html#ga0fe2d27934b7855d078b7d89e5df688e" title="Delete a particular element from a list.">gdsl_list_delete</a> (gdsl_list_t L,
<a name="l00380"></a>00380           <a class="code" href="group__gdsl__types.html#ga200177a9a1ac3f2363e228b0e5faeda7" title="GDSL Comparison element function type.">gdsl_compare_func_t</a> COMP_F,
<a name="l00381"></a>00381           <span class="keyword">const</span> <span class="keywordtype">void</span>* VALUE
<a name="l00382"></a>00382           );
<a name="l00383"></a>00383 
<a name="l00384"></a>00384 <span class="comment">/******************************************************************************/</span>
<a name="l00385"></a>00385 <span class="comment">/* Search functions of doubly-linked lists                                    */</span>
<a name="l00386"></a>00386 <span class="comment">/******************************************************************************/</span>
<a name="l00387"></a>00387 
<a name="l00405"></a>00405 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00406"></a>00406 <a class="code" href="group__gdsl__list.html#gac25a3fb66c9687d21f68fffec730c97a" title="Search for a particular element into a list.">gdsl_list_search</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00407"></a>00407           <a class="code" href="group__gdsl__types.html#ga200177a9a1ac3f2363e228b0e5faeda7" title="GDSL Comparison element function type.">gdsl_compare_func_t</a> COMP_F,
<a name="l00408"></a>00408           <span class="keyword">const</span> <span class="keywordtype">void</span>* VALUE
<a name="l00409"></a>00409           );
<a name="l00410"></a>00410 
<a name="l00423"></a>00423 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00424"></a>00424 <a class="code" href="group__gdsl__list.html#gab56e1221556836f9a176077915fbd08d" title="Search for an element by its position in a list.">gdsl_list_search_by_position</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00425"></a>00425                   <a class="code" href="group__gdsl__types.html#ga9c34ac44da309b004570530c8cec8a0e">ulong</a> POS
<a name="l00426"></a>00426                   );
<a name="l00427"></a>00427 
<a name="l00444"></a>00444 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00445"></a>00445 <a class="code" href="group__gdsl__list.html#gad2b842ccc7f0ed732df149e4f493cc06" title="Search for the greatest element of a list.">gdsl_list_search_max</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00446"></a>00446               <a class="code" href="group__gdsl__types.html#ga200177a9a1ac3f2363e228b0e5faeda7" title="GDSL Comparison element function type.">gdsl_compare_func_t</a> COMP_F
<a name="l00447"></a>00447               );
<a name="l00448"></a>00448 
<a name="l00465"></a>00465 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00466"></a>00466 <a class="code" href="group__gdsl__list.html#ga3c57fcc4c77e4e42a1ec0794c0a9cc01" title="Search for the lowest element of a list.">gdsl_list_search_min</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00467"></a>00467               <a class="code" href="group__gdsl__types.html#ga200177a9a1ac3f2363e228b0e5faeda7" title="GDSL Comparison element function type.">gdsl_compare_func_t</a> COMP_F
<a name="l00468"></a>00468               );
<a name="l00469"></a>00469 
<a name="l00470"></a>00470 <span class="comment">/******************************************************************************/</span>
<a name="l00471"></a>00471 <span class="comment">/* Sort functions of doubly-linked lists                                      */</span>
<a name="l00472"></a>00472 <span class="comment">/******************************************************************************/</span>
<a name="l00473"></a>00473 
<a name="l00486"></a>00486 <span class="keyword">extern</span> gdsl_list_t
<a name="l00487"></a>00487 <a class="code" href="group__gdsl__list.html#ga6b96f343d2657677bb72b4e3a6c32c35" title="Sort a list.">gdsl_list_sort</a> (gdsl_list_t L,
<a name="l00488"></a>00488         <a class="code" href="group__gdsl__types.html#ga200177a9a1ac3f2363e228b0e5faeda7" title="GDSL Comparison element function type.">gdsl_compare_func_t</a> COMP_F
<a name="l00489"></a>00489         );
<a name="l00490"></a>00490 
<a name="l00491"></a>00491 <span class="comment">/******************************************************************************/</span>
<a name="l00492"></a>00492 <span class="comment">/* Parse functions of doubly-linked lists                                     */</span>
<a name="l00493"></a>00493 <span class="comment">/******************************************************************************/</span>
<a name="l00494"></a>00494 
<a name="l00512"></a>00512 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00513"></a>00513 <a class="code" href="group__gdsl__list.html#gaaa1aa93760c74b8868f598ae4762034f" title="Parse a list from head to tail.">gdsl_list_map_forward</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00514"></a>00514                <a class="code" href="group__gdsl__types.html#ga2500bfaaec5df890e72b43f448f13ee8" title="GDSL Map element function type.">gdsl_map_func_t</a> MAP_F,
<a name="l00515"></a>00515                <span class="keywordtype">void</span>* USER_DATA
<a name="l00516"></a>00516                );
<a name="l00517"></a>00517 
<a name="l00535"></a>00535 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00536"></a>00536 <a class="code" href="group__gdsl__list.html#ga9c92f66fdb2034a7d33905c16ba7a643" title="Parse a list from tail to head.">gdsl_list_map_backward</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00537"></a>00537             <a class="code" href="group__gdsl__types.html#ga2500bfaaec5df890e72b43f448f13ee8" title="GDSL Map element function type.">gdsl_map_func_t</a> MAP_F,
<a name="l00538"></a>00538             <span class="keywordtype">void</span>* USER_DATA
<a name="l00539"></a>00539             );
<a name="l00540"></a>00540 
<a name="l00541"></a>00541 <span class="comment">/******************************************************************************/</span>
<a name="l00542"></a>00542 <span class="comment">/* Input/output functions of doubly-linked lists                              */</span>
<a name="l00543"></a>00543 <span class="comment">/******************************************************************************/</span>
<a name="l00544"></a>00544 
<a name="l00560"></a>00560 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00561"></a>00561 <a class="code" href="group__gdsl__list.html#gae26810b8edeb5a5ed2c3259fc425ac6f" title="Write all the elements of a list to a file.">gdsl_list_write</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00562"></a>00562          <a class="code" href="group__gdsl__types.html#gafc7394b6c8e0a5bd92df75e24512dfd6" title="GDSL Write element function type.">gdsl_write_func_t</a> WRITE_F,
<a name="l00563"></a>00563          FILE* OUTPUT_FILE,
<a name="l00564"></a>00564          <span class="keywordtype">void</span>* USER_DATA
<a name="l00565"></a>00565          );
<a name="l00566"></a>00566 
<a name="l00583"></a>00583 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00584"></a>00584 <a class="code" href="group__gdsl__list.html#ga1306d2d0c329dfae244505a1b2d9d4b9" title="Write the content of a list to a file into XML.">gdsl_list_write_xml</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00585"></a>00585              <a class="code" href="group__gdsl__types.html#gafc7394b6c8e0a5bd92df75e24512dfd6" title="GDSL Write element function type.">gdsl_write_func_t</a> WRITE_F,
<a name="l00586"></a>00586              FILE* OUTPUT_FILE,
<a name="l00587"></a>00587              <span class="keywordtype">void</span>* USER_DATA
<a name="l00588"></a>00588              );
<a name="l00589"></a>00589 
<a name="l00606"></a>00606 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00607"></a>00607 <a class="code" href="group__gdsl__list.html#ga8667ee72192ba06ef4f541cc1b925517" title="Dump the internal structure of a list to a file.">gdsl_list_dump</a> (<span class="keyword">const</span> gdsl_list_t L,
<a name="l00608"></a>00608         <a class="code" href="group__gdsl__types.html#gafc7394b6c8e0a5bd92df75e24512dfd6" title="GDSL Write element function type.">gdsl_write_func_t</a> WRITE_F,
<a name="l00609"></a>00609         FILE* OUTPUT_FILE,
<a name="l00610"></a>00610         <span class="keywordtype">void</span>* USER_DATA
<a name="l00611"></a>00611         );
<a name="l00612"></a>00612 
<a name="l00613"></a>00613 <span class="comment">/******************************************************************************/</span>
<a name="l00614"></a>00614 <span class="comment">/* Cursor specific functions of doubly-linked lists                           */</span>
<a name="l00615"></a>00615 <span class="comment">/******************************************************************************/</span>
<a name="l00616"></a>00616 
<a name="l00626"></a>00626 gdsl_list_cursor_t
<a name="l00627"></a>00627 <a class="code" href="group__gdsl__list.html#ga73b9eca4fcca1679089c064c8db87961" title="Create a new list cursor.">gdsl_list_cursor_alloc</a> (<span class="keyword">const</span> gdsl_list_t L
<a name="l00628"></a>00628             );
<a name="l00636"></a>00636 <span class="keywordtype">void</span>
<a name="l00637"></a>00637 <a class="code" href="group__gdsl__list.html#gae38ef7ce486f88e741f85d009eedd705" title="Destroy a list cursor.">gdsl_list_cursor_free</a> (gdsl_list_cursor_t C
<a name="l00638"></a>00638                );
<a name="l00639"></a>00639 
<a name="l00650"></a>00650 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00651"></a>00651 <a class="code" href="group__gdsl__list.html#ga9d88424a9c60a3eb696e658f322a49f5" title="Put a cursor on the head of its list.">gdsl_list_cursor_move_to_head</a> (gdsl_list_cursor_t C
<a name="l00652"></a>00652                    );
<a name="l00653"></a>00653 
<a name="l00664"></a>00664 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00665"></a>00665 <a class="code" href="group__gdsl__list.html#gae2fe3f7ca5b07b6067534ae412f0faa4" title="Put a cursor on the tail of its list.">gdsl_list_cursor_move_to_tail</a> (gdsl_list_cursor_t C
<a name="l00666"></a>00666                    );
<a name="l00667"></a>00667 
<a name="l00683"></a>00683 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00684"></a>00684 <a class="code" href="group__gdsl__list.html#ga6bb6cc52796b87560a46be4a29480bf9" title="Place a cursor on a particular element.">gdsl_list_cursor_move_to_value</a> (gdsl_list_cursor_t C,
<a name="l00685"></a>00685                 <a class="code" href="group__gdsl__types.html#ga200177a9a1ac3f2363e228b0e5faeda7" title="GDSL Comparison element function type.">gdsl_compare_func_t</a> COMP_F,
<a name="l00686"></a>00686                 <span class="keywordtype">void</span>* VALUE
<a name="l00687"></a>00687                 );
<a name="l00688"></a>00688 
<a name="l00703"></a>00703 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00704"></a>00704 <a class="code" href="group__gdsl__list.html#ga5f344c752896ec3b2bb41169e8e8b2c7" title="Place a cursor on a element given by its position.">gdsl_list_cursor_move_to_position</a> (gdsl_list_cursor_t C,
<a name="l00705"></a>00705                    <a class="code" href="group__gdsl__types.html#ga9c34ac44da309b004570530c8cec8a0e">ulong</a> POS
<a name="l00706"></a>00706                    );
<a name="l00707"></a>00707 
<a name="l00719"></a>00719 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00720"></a>00720 <a class="code" href="group__gdsl__list.html#ga88e466cff5f8616b524f4b3d56e7b0d7" title="Move a cursor one step forward of its list.">gdsl_list_cursor_step_forward</a> (gdsl_list_cursor_t C
<a name="l00721"></a>00721                    );
<a name="l00722"></a>00722 
<a name="l00734"></a>00734 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00735"></a>00735 <a class="code" href="group__gdsl__list.html#gabeae22a3869ee192439f81b0271692b8" title="Move a cursor one step backward of its list.">gdsl_list_cursor_step_backward</a> (gdsl_list_cursor_t C
<a name="l00736"></a>00736                 );
<a name="l00737"></a>00737 
<a name="l00747"></a>00747 <span class="keyword">extern</span> <span class="keywordtype">bool</span>
<a name="l00748"></a>00748 <a class="code" href="group__gdsl__list.html#ga87119e865865bdd531360a2768015aae" title="Check if a cursor is on the head of its list.">gdsl_list_cursor_is_on_head</a> (<span class="keyword">const</span> gdsl_list_cursor_t C
<a name="l00749"></a>00749                  );
<a name="l00750"></a>00750 
<a name="l00760"></a>00760 <span class="keyword">extern</span> <span class="keywordtype">bool</span>
<a name="l00761"></a>00761 <a class="code" href="group__gdsl__list.html#ga497fa4777c9cf2b0e5a16b058eb01429" title="Check if a cursor is on the tail of its list.">gdsl_list_cursor_is_on_tail</a> (<span class="keyword">const</span> gdsl_list_cursor_t C
<a name="l00762"></a>00762                  );
<a name="l00763"></a>00763 
<a name="l00773"></a>00773 <span class="keyword">extern</span> <span class="keywordtype">bool</span> 
<a name="l00774"></a>00774 <a class="code" href="group__gdsl__list.html#ga34a69c63788fd552638a4599a29d9e03" title="Check if a cursor has a successor.">gdsl_list_cursor_has_succ</a> (<span class="keyword">const</span> gdsl_list_cursor_t C
<a name="l00775"></a>00775                );
<a name="l00776"></a>00776 
<a name="l00786"></a>00786 <span class="keyword">extern</span> <span class="keywordtype">bool</span> 
<a name="l00787"></a>00787 <a class="code" href="group__gdsl__list.html#ga307534d83c52108e940d2990d98ff4eb" title="Check if a cursor has a predecessor.">gdsl_list_cursor_has_pred</a> (<span class="keyword">const</span> gdsl_list_cursor_t C
<a name="l00788"></a>00788                );
<a name="l00789"></a>00789 
<a name="l00803"></a>00803 <span class="keyword">extern</span> <span class="keywordtype">void</span>
<a name="l00804"></a>00804  <a class="code" href="group__gdsl__list.html#ga2e2fb42a84aa537609d1a863f050b8e3" title="Set the content of the cursor.">gdsl_list_cursor_set_content</a> (gdsl_list_cursor_t C,
<a name="l00805"></a>00805                    <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a> E
<a name="l00806"></a>00806                    );
<a name="l00815"></a>00815 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00816"></a>00816 <a class="code" href="group__gdsl__list.html#ga772f3a881da6a6f541a3f77c75ee3e6e" title="Get the content of a cursor.">gdsl_list_cursor_get_content</a> (<span class="keyword">const</span> gdsl_list_cursor_t C
<a name="l00817"></a>00817                   );
<a name="l00818"></a>00818 
<a name="l00837"></a>00837 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00838"></a>00838 <a class="code" href="group__gdsl__list.html#ga2dbc65933800f63bda62742ba7687ea8" title="Insert a new element after a cursor.">gdsl_list_cursor_insert_after</a> (gdsl_list_cursor_t C,
<a name="l00839"></a>00839                    <span class="keywordtype">void</span>* VALUE
<a name="l00840"></a>00840                    );
<a name="l00859"></a>00859 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00860"></a>00860 <a class="code" href="group__gdsl__list.html#gaf4d5b11daa472d6f51b01434bdb84bf4" title="Insert a new element before a cursor.">gdsl_list_cursor_insert_before</a> (gdsl_list_cursor_t C,
<a name="l00861"></a>00861                 <span class="keywordtype">void</span>* VALUE
<a name="l00862"></a>00862                 );
<a name="l00863"></a>00863 
<a name="l00877"></a>00877 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00878"></a>00878 <a class="code" href="group__gdsl__list.html#ga252d9851234a36a35381d67f7af58475" title="Removec the element under a cursor.">gdsl_list_cursor_remove</a> (gdsl_list_cursor_t C
<a name="l00879"></a>00879              );
<a name="l00880"></a>00880 
<a name="l00893"></a>00893 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00894"></a>00894 <a class="code" href="group__gdsl__list.html#ga807fb4304da01d90edb6a953a2bea6d3" title="Removec the element after a cursor.">gdsl_list_cursor_remove_after</a> (gdsl_list_cursor_t C
<a name="l00895"></a>00895                    );
<a name="l00896"></a>00896 
<a name="l00909"></a>00909 <span class="keyword">extern</span> <a class="code" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7" title="GDSL element type.">gdsl_element_t</a>
<a name="l00910"></a>00910 <a class="code" href="group__gdsl__list.html#ga943103f832e42a88562d7b4f92fe93ac" title="Remove the element before a cursor.">gdsl_list_cursor_remove_before</a> (gdsl_list_cursor_t C
<a name="l00911"></a>00911                 );
<a name="l00912"></a>00912 
<a name="l00928"></a>00928 <span class="keyword">extern</span> gdsl_list_cursor_t
<a name="l00929"></a>00929 <a class="code" href="group__gdsl__list.html#ga2a117b1330a07b55e17bb7ff777166d4" title="Delete the element under a cursor.">gdsl_list_cursor_delete</a> (gdsl_list_cursor_t C
<a name="l00930"></a>00930              );
<a name="l00931"></a>00931 
<a name="l00947"></a>00947 <span class="keyword">extern</span> gdsl_list_cursor_t
<a name="l00948"></a>00948 <a class="code" href="group__gdsl__list.html#ga4532feb1ac3ae1f0e30cf163e8e23abb" title="Delete the element after a cursor.">gdsl_list_cursor_delete_after</a> (gdsl_list_cursor_t C
<a name="l00949"></a>00949                    );
<a name="l00950"></a>00950 
<a name="l00965"></a>00965 <span class="keyword">extern</span> gdsl_list_cursor_t
<a name="l00966"></a>00966 <a class="code" href="group__gdsl__list.html#ga5ab0916bcc19bf25cb498f52417ba0dd" title="Delete the element before the cursor of a list.">gdsl_list_cursor_delete_before</a> (gdsl_list_cursor_t C
<a name="l00967"></a>00967                 );
<a name="l00968"></a>00968 
<a name="l00969"></a>00969 
<a name="l00970"></a>00970 <span class="comment">/*</span>
<a name="l00971"></a>00971 <span class="comment"> * @}</span>
<a name="l00972"></a>00972 <span class="comment"> */</span>
<a name="l00973"></a>00973 
<a name="l00974"></a>00974 
<a name="l00975"></a>00975 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00976"></a>00976 <span class="preprocessor"></span>}
<a name="l00977"></a>00977 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span>
<a name="l00978"></a>00978 
<a name="l00979"></a>00979 
<a name="l00980"></a>00980 <span class="preprocessor">#endif </span><span class="comment">/* GDSL_LIST_H_ */</span>
<a name="l00981"></a>00981 
<a name="l00982"></a>00982 
</pre></div></div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="gdsl__list_8h.html">gdsl_list.h</a>      </li>

    <li class="footer">Generated on Wed Jun 12 2013 18:18:47 for gdsl by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
